package marseillaisdu90.student_life;

import marseillaisdu90.modele.Liste_enigme;
import marseillaisdu90.modele.Piece;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.widget.Toast;

public class BoiteDialogReflexion {

	private Context context;
	private Liste_enigme le;
	private CharSequence[] diffChoix;
	private int choix;
	private AlertDialog alert;
	
	public BoiteDialogReflexion(Liste_enigme le, Context context) {
		this.le=le;
		this.context = context;
		alert = null;
	}
	
	public void nouvelleEnigme(int num_enigme){

		if(le.liste_enigme.get(num_enigme).dejaPose()==false) { //on vérifie que on n'a pas déjà posé cette énigme
			
			//on affiche la boite de dialogue contenant l'épreuve de réflexion c'est-à-dire l'énigme.
			afficheMessage("question", num_enigme);
			
		}
		
	}
	
	public void afficheMessage(String titre, final int num_enigme) {
		
		choix = -1;
		
		diffChoix = new CharSequence[3];
		diffChoix[0] = le.liste_enigme.get(num_enigme).getChoix_1();
		diffChoix[1] = le.liste_enigme.get(num_enigme).getChoix_2();
		diffChoix[2] = le.liste_enigme.get(num_enigme).getChoix_3();
				
		final AlertDialog.Builder builder = new AlertDialog.Builder(context);
		builder.setTitle(titre + "\n" + le.liste_enigme.get(num_enigme).getQuestion());
		//builder.setMessage(le.liste_enigme.get(num_enigme).getQuestion());
		builder.setCancelable(false);

		builder.setSingleChoiceItems(diffChoix, -1, new DialogInterface.OnClickListener() {			
			@Override
			public void onClick(DialogInterface dialog, int which) {
				choix = which;
			}
		});
		
		builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog, int id) {
				
				if(choix >=0 && choix <=2) {
					le.liste_enigme.get(num_enigme).setChoix((String) diffChoix[choix]);
					le.liste_enigme.get(num_enigme).pose();
					Toast.makeText(context, le.liste_enigme.get(num_enigme).estReussi(), 3000).show();
					
					if(MonApplication.modele.nbEnigmefaite==11){
						for(Piece piece: MonApplication.modele.ListePiece.id)
							piece.PieceSonFermer();
						//TODO
						/*
						if(MonApplication.modele.joueur.getMoyenne()<10)
							jeu.JeuTermine(false);
						else
							jeu.JeuTermine(true);
						*/
						//dialog.cancel();
						//dialog.dismiss();
					}
					
					MonApplication.getSl().mettreAJourMenu();
					
				}
				else {
					//dialog.cancel();
					//dialog.dismiss();
					Toast.makeText(context, "Veuillez choisir une réponse !!", 2000).show();
					alert.show();
					//alert.cancel();
				}
			}
		});

		builder.setIcon(context.getResources().getIdentifier(titre, "drawable", context.getPackageName()));
		//builder.show();
		alert = builder.create();
		alert.show();
		
	}
}
